package collection;

import java.util.ArrayList;
import java.util.Collection;
import java.util.HashSet;

/**
 * 集合，是一种数据结构，用于保存一组元素，并且提供了多种不同的数据结构供我们使用
 * list 元素可重复
 */
public class CollectionDemo1 {
    public static void main(String[] args) {
        // ArrayList集合
        // 有序可重复
        Collection c = new ArrayList();
        /*
        * 集合中添加元素，使用add方法
        * boolean add(E e)  将给定的元素添加到集合当中  E泛型    类似object
        * 添加成功返回true，添加失败返回false
         */
        boolean b =  c.add("hello");
        System.out.println(b);
        c.add("world");
        c.add("java");
        System.out.println(c);
        // 天添加重复的
        b = c.add("hello");
        System.out.println(b);

        System.out.println(c);

        // 运行结构显示集合是：[hello, world, java, hello]
        // 如果换为set集合，那么会显示无序且不重复的
        // 例如:
        Collection c1 = new HashSet();
        boolean b1 = c1.add("hello");
        System.out.println(b1);
        c1.add("world");
        c1.add("java");
        System.out.println(c1);
        b1 = c1.add("hello");
        System.out.println(b1);
        System.out.println(c1);

        // 如果不添加或删除某个元素，那么集合中的无序将不会改变

        // size() 集合中元素的个数  返回的是int类型  超过int范围，返回还是int的最大值
        // 和数组的length() 不一样
        System.out.println(c.size());

        /*
         isEmpty() 判断集合是否为空，如果为空返回true，不为空返回false
         size() = 0
         和null 不一样
         null 是判断这个变量是否为空，如果为空返回true，不为空返回false
         */

        System.out.println(c.isEmpty());  // false

        /*
        clear() 清空集合
         */
        c.clear();
        System.out.println(c);
        System.out.println(c.isEmpty());
    }
}
